package com.tanjie.blackbean.system.admin.service;

import cn.hutool.core.lang.tree.Tree;
import com.tanjie.blackbean.system.admin.model.org.OrgPO;
import com.tanjie.blackbean.system.admin.model.org.OrgDTO;
import com.tanjie.blackbean.system.admin.model.org.OrgQuery;
import com.tanjie.blackbean.system.admin.model.org.OrgVO;

import java.util.List;

/**
 * 组织机构
 *
 * @author tanjie
 * @since 2022-04-19
 */
public interface IOrgService {

    OrgPO create(OrgDTO dto);

    void update(OrgDTO dto);

    void delete(String id);

    OrgVO detail(String id);

    OrgPO getByIdThr(String id);

    List<OrgVO> queryList(OrgQuery dto);

    List<Tree<String>> queryTree();

    List<OrgVO> lazyTree(String parentId);

    void checkOrgExist(String id);

}